1 /* 2 3 Boost Software License - Version 1.0 - August 17th, 2003 4 5 Permission is hereby granted, free of charge, to any person or organization 6 obtaining a copy of the software and accompanying documentation covered by 7 this license (the "Software") to use, reproduce, display, distribute, 8 execute, and transmit the Software, and to prepare derivative works of the 9 Software, and to permit third-parties to whom the Software is furnished to 10 do so, all subject to the following: 11 12 The copyright notices in the Software and this entire statement, including 13 the above license grant, this restriction and the following disclaimer, 14 must be included in all copies of the Software, in whole or in part, and 15 all derivative works of the Software, unless such copies or derivative 16 works are solely in the form of machine-executable object code generated by 17 a source language processor. 18 19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 DEALINGS IN THE SOFTWARE. 26 27 */ 28 29 module derelict.purple.prefs; 30 31 import derelict.glib.gtypes; 32 import derelict.glib.glibconfig; 33 import derelict.glib.glist; 34 extern (C): 35 36 alias _PurplePrefType PurplePrefType; 37 alias void function (const(char)*, _PurplePrefType, const(void)*, void*) PurplePrefCallback; 38 39 enum _PurplePrefType 40 { 41 PURPLE_PREF_NONE = 0, 42 PURPLE_PREF_BOOLEAN = 1, 43 PURPLE_PREF_INT = 2, 44 PURPLE_PREF_STRING = 3, 45 PURPLE_PREF_STRING_LIST = 4, 46 PURPLE_PREF_PATH = 5, 47 PURPLE_PREF_PATH_LIST = 6 48 } 49 50 version(Derelict_Link_Static) 51 { 52 extern( C ) nothrow 53 { 54 void* purple_prefs_get_handle(); 55 void purple_prefs_init(); 56 void purple_prefs_uninit(); 57 void purple_prefs_add_none(const(char)* name); 58 void purple_prefs_add_bool(const(char)* name, gboolean value); 59 void purple_prefs_add_int(const(char)* name, int value); 60 void purple_prefs_add_string(const(char)* name, const(char)* value); 61 void purple_prefs_add_string_list(const(char)* name, GList* value); 62 void purple_prefs_add_path(const(char)* name, const(char)* value); 63 void purple_prefs_add_path_list(const(char)* name, GList* value); 64 void purple_prefs_remove(const(char)* name); 65 void purple_prefs_rename(const(char)* oldname, const(char)* newname); 66 void purple_prefs_rename_boolean_toggle(const(char)* oldname, const(char)* newname); 67 void purple_prefs_destroy(); 68 void purple_prefs_set_generic(const(char)* name, gpointer value); 69 void purple_prefs_set_bool(const(char)* name, gboolean value); 70 void purple_prefs_set_int(const(char)* name, int value); 71 void purple_prefs_set_string(const(char)* name, const(char)* value); 72 void purple_prefs_set_string_list(const(char)* name, GList* value); 73 void purple_prefs_set_path(const(char)* name, const(char)* value); 74 void purple_prefs_set_path_list(const(char)* name, GList* value); 75 gboolean purple_prefs_exists(const(char)* name); 76 PurplePrefType purple_prefs_get_type(const(char)* name); 77 gboolean purple_prefs_get_bool(const(char)* name); 78 int purple_prefs_get_int(const(char)* name); 79 const(char)* purple_prefs_get_string(const(char)* name); 80 GList* purple_prefs_get_string_list(const(char)* name); 81 const(char)* purple_prefs_get_path(const(char)* name); 82 GList* purple_prefs_get_path_list(const(char)* name); 83 GList* purple_prefs_get_children_names(const(char)* name); 84 guint purple_prefs_connect_callback(void* handle, const(char)* name, PurplePrefCallback cb, gpointer data); 85 void purple_prefs_disconnect_callback(guint callback_id); 86 void purple_prefs_disconnect_by_handle(void* handle); 87 void purple_prefs_trigger_callback(const(char)* name); 88 gboolean purple_prefs_load(); 89 void purple_prefs_update_old(); 90 } 91 } 92 else 93 { 94 extern( C ) nothrow 95 { 96 alias da_purple_prefs_get_handle = void* function(); 97 alias da_purple_prefs_init = void function(); 98 alias da_purple_prefs_uninit = void function(); 99 alias da_purple_prefs_add_none = void function(const(char)* name); 100 alias da_purple_prefs_add_bool = void function(const(char)* name, gboolean value); 101 alias da_purple_prefs_add_int = void function(const(char)* name, int value); 102 alias da_purple_prefs_add_string = void function(const(char)* name, const(char)* value); 103 alias da_purple_prefs_add_string_list = void function(const(char)* name, GList* value); 104 alias da_purple_prefs_add_path = void function(const(char)* name, const(char)* value); 105 alias da_purple_prefs_add_path_list = void function(const(char)* name, GList* value); 106 alias da_purple_prefs_remove = void function(const(char)* name); 107 alias da_purple_prefs_rename = void function(const(char)* oldname, const(char)* newname); 108 alias da_purple_prefs_rename_boolean_toggle = void function(const(char)* oldname, const(char)* newname); 109 alias da_purple_prefs_destroy = void function(); 110 alias da_purple_prefs_set_generic = void function(const(char)* name, gpointer value); 111 alias da_purple_prefs_set_bool = void function(const(char)* name, gboolean value); 112 alias da_purple_prefs_set_int = void function(const(char)* name, int value); 113 alias da_purple_prefs_set_string = void function(const(char)* name, const(char)* value); 114 alias da_purple_prefs_set_string_list = void function(const(char)* name, GList* value); 115 alias da_purple_prefs_set_path = void function(const(char)* name, const(char)* value); 116 alias da_purple_prefs_set_path_list = void function(const(char)* name, GList* value); 117 alias da_purple_prefs_exists = gboolean function(const(char)* name); 118 alias da_purple_prefs_get_type = PurplePrefType function(const(char)* name); 119 alias da_purple_prefs_get_bool = gboolean function(const(char)* name); 120 alias da_purple_prefs_get_int = int function(const(char)* name); 121 alias da_purple_prefs_get_string = const(char)* function(const(char)* name); 122 alias da_purple_prefs_get_string_list = GList* function(const(char)* name); 123 alias da_purple_prefs_get_path = const(char)* function(const(char)* name); 124 alias da_purple_prefs_get_path_list = GList* function(const(char)* name); 125 alias da_purple_prefs_get_children_names = GList* function(const(char)* name); 126 alias da_purple_prefs_connect_callback = guint function(void* handle, const(char)* name, PurplePrefCallback cb, gpointer data); 127 alias da_purple_prefs_disconnect_callback = void function(guint callback_id); 128 alias da_purple_prefs_disconnect_by_handle = void function(void* handle); 129 alias da_purple_prefs_trigger_callback = void function(const(char)* name); 130 alias da_purple_prefs_load = gboolean function(); 131 alias da_purple_prefs_update_old = void function(); 132 } 133 134 __gshared 135 { 136 da_purple_prefs_get_handle purple_prefs_get_handle; 137 da_purple_prefs_init purple_prefs_init; 138 da_purple_prefs_uninit purple_prefs_uninit; 139 da_purple_prefs_add_none purple_prefs_add_none; 140 da_purple_prefs_add_bool purple_prefs_add_bool; 141 da_purple_prefs_add_int purple_prefs_add_int; 142 da_purple_prefs_add_string purple_prefs_add_string; 143 da_purple_prefs_add_string_list purple_prefs_add_string_list; 144 da_purple_prefs_add_path purple_prefs_add_path; 145 da_purple_prefs_add_path_list purple_prefs_add_path_list; 146 da_purple_prefs_remove purple_prefs_remove; 147 da_purple_prefs_rename purple_prefs_rename; 148 da_purple_prefs_rename_boolean_toggle purple_prefs_rename_boolean_toggle; 149 da_purple_prefs_destroy purple_prefs_destroy; 150 da_purple_prefs_set_generic purple_prefs_set_generic; 151 da_purple_prefs_set_bool purple_prefs_set_bool; 152 da_purple_prefs_set_int purple_prefs_set_int; 153 da_purple_prefs_set_string purple_prefs_set_string; 154 da_purple_prefs_set_string_list purple_prefs_set_string_list; 155 da_purple_prefs_set_path purple_prefs_set_path; 156 da_purple_prefs_set_path_list purple_prefs_set_path_list; 157 da_purple_prefs_exists purple_prefs_exists; 158 da_purple_prefs_get_type purple_prefs_get_type; 159 da_purple_prefs_get_bool purple_prefs_get_bool; 160 da_purple_prefs_get_int purple_prefs_get_int; 161 da_purple_prefs_get_string purple_prefs_get_string; 162 da_purple_prefs_get_string_list purple_prefs_get_string_list; 163 da_purple_prefs_get_path purple_prefs_get_path; 164 da_purple_prefs_get_path_list purple_prefs_get_path_list; 165 da_purple_prefs_get_children_names purple_prefs_get_children_names; 166 da_purple_prefs_connect_callback purple_prefs_connect_callback; 167 da_purple_prefs_disconnect_callback purple_prefs_disconnect_callback; 168 da_purple_prefs_disconnect_by_handle purple_prefs_disconnect_by_handle; 169 da_purple_prefs_trigger_callback purple_prefs_trigger_callback; 170 da_purple_prefs_load purple_prefs_load; 171 da_purple_prefs_update_old purple_prefs_update_old; 172 } 173 }